module("framework.helper.transformhelper", package.seeall)

---@class transformhelper
local transformhelper = _M

---@type Framework.TransformHelper
local TransformHelper = Framework.TransformHelper

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
function transformhelper.setPos(transform, x, y, z)
    TransformHelper.SetPos(transform, x, y, z)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
---@param lerp number
function transformhelper.setPosLerp(transform, x, y, z, lerp)
    TransformHelper.SetPosLerp(transform, x, y, z, lerp)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
function transformhelper.setPosXY(transform, x, y)
    TransformHelper.SetPosXY(transform, x, y)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getPos(transform)
    return TransformHelper.GetPos(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
function transformhelper.setLocalPos(transform, x, y, z)
    TransformHelper.SetLocalPos(transform, x, y, z)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
---@param lerp number
function transformhelper.setLocalLerp(transform, x, y, z, lerp)
    TransformHelper.SetLocalPosLerp(transform, x, y, z, lerp)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
function transformhelper.setLocalPosXY(transform, x, y)
    TransformHelper.SetLocalPosXY(transform, x, y)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getLocalPos(transform)
    return TransformHelper.GetLocalPos(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
function transformhelper.setLocalScale(transform, x, y, z)
    TransformHelper.SetLocalScale(transform, x, y, z)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
---@param lerp number
function transformhelper.setLocalScaleLerp(transform, x, y, z, lerp)
    TransformHelper.SetLocalScaleLerp(transform, x, y, z, lerp)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getLocalScale(transform)
    return TransformHelper.GetLocalScale(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
function transformhelper.setLocalRotation(transform, x, y, z)
    TransformHelper.SetLocalEulerAngles(transform, x, y, z)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getLocalRotation(transform)
    return TransformHelper.GetLocalEulerAngles(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
---@param w number
function transformhelper.setRotation(transform, x, y, z, w)
    TransformHelper.SetRotation(transform, x, y, z, w)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
---@param w number
function transformhelper.setLocalRotation2(transform, x, y, z, w)
    TransformHelper.SetLocalRotation(transform, x, y, z, w)
end

---@param transform UnityEngine.Transform
---@param angleX number
---@param angleY number
---@param angleZ number
---@param lerp number
function transformhelper.setLocalRotationLerp(transform, angleX, angleY, angleZ, lerp)
    TransformHelper.SetLocalRotationLerp(transform, angleX, angleY, angleZ, lerp)
end

---@param transform UnityEngine.Transform
---@param angleX number
---@param angleY number
---@param angleZ number
---@param lerp number
function transformhelper.setRotationLerp(transform, angleX, angleY, angleZ, lerp)
    TransformHelper.SetRotationLerp(transform, angleX, angleY, angleZ, lerp)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getForward(transform)
    return TransformHelper.GetForward(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getRight(transform)
    return TransformHelper.GetRight(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@return number, number, number
function transformhelper.getUp(transform)
    return TransformHelper.GetUp(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
function transformhelper.getEulerAngles(transform)
    return TransformHelper.GetEulerAngles(transform, 0, 0, 0)
end

---@param transform UnityEngine.Transform
---@param x number
---@param y number
---@param z number
function transformhelper.setEulerAngles(transform, x, y, z)
    TransformHelper.SetEulerAngles(transform, x, y, z)
end

---@param transform UnityEngine.Transform
function transformhelper.getLossyScale(transform)
    return TransformHelper.GetLossyScale(transform, 0, 0, 0)
end

return transformhelper
